package com.hanthink.system.mapper.manhour;

import java.util.List;

import com.hanthink.common.core.domain.entity.SysDept;
import com.hanthink.system.domain.manhour.PLineMachineStructure;
import org.apache.ibatis.annotations.Param;

/**
 * 产线的设备维护Mapper接口
 * 
 * @author hanthink
 * @date 2022-05-05
 */
public interface PLineMachineStructureMapper 
{
    /**
     * 查询产线的设备维护
     * 
     * @param id 产线的设备维护ID
     * @return 产线的设备维护
     */
        PLineMachineStructure selectPLineMachineStructureById(Long id);

    /**
     * 查询产线的设备维护列表
     * 
     * @param pLineMachineStructure 产线的设备维护
     * @return 产线的设备维护集合
     */
    List<PLineMachineStructure> selectPLineMachineStructureList(PLineMachineStructure pLineMachineStructure);


    /**
     * 根据部门id和产线id查找设备列表
     * @param deptid 部门id
     * @param plineid 产线id
     * @return 设备列表
     */
    List<PLineMachineStructure> selectPLineMachineStructureListbyfactoryid(@Param("deptid") String deptid, @Param("plineid") String plineid);

    /**
     * 根据部门id和产线名称查找设备列表
     * @param deptid 部门id
     * @param plinename 产线名称
     * @return 设备列表
     */
    List<PLineMachineStructure> selectPLineMachineStructureListbyfactoryname(@Param("deptid") String deptid, @Param("plinename") String plinename);

    /**
     * 新增产线的设备维护
     * 
     * @param pLineMachineStructure 产线的设备维护
     * @return 结果
     */
    int insertPLineMachineStructure(PLineMachineStructure pLineMachineStructure);

    /**
     * 修改产线的设备维护
     * 
     * @param pLineMachineStructure 产线的设备维护
     * @return 结果
     */
    int updatePLineMachineStructure(PLineMachineStructure pLineMachineStructure);


    /**
     * @Description: 导入更新数据
     * @param pLineMachineStructure
     * @return: int
     * @Author: 唐子越
     * @Date: 2023/7/6 14:00
     */
    int updateImportData(PLineMachineStructure pLineMachineStructure);

    /**
     * 删除产线的设备维护
     * 
     * @param id 产线的设备维护ID
     * @return 结果
     */
    int deletePLineMachineStructureById(Long id);

    /**
     * 批量删除产线的设备维护
     * 
     * @param list 需要删除的数据ID
     * @return 结果
     */
    int deletePLineMachineStructureByIds(List<PLineMachineStructure> list);


    /**
     * @Description: 获得全部工厂信息
     * @param
     * @return: java.util.List<com.hanthink.common.core.domain.entity.SysDept>
     * @Author: 唐子越
     * @Date: 2023/7/6 14:01
     */
    List<SysDept> getAllFactory();


    /**
     * @Description: 查找根据设备id和生产线id
     * @param machineid
     * @param plineid
     * @return: com.hanthink.system.domain.manhour.PLineMachineStructure
     * @Author: 唐子越
     * @Date: 2023/7/6 14:01
     */
    PLineMachineStructure selectPlineMachineStructureByMachineIdAndPlineId(@Param("machineid") String machineid,@Param("plineid") String plineid);
}
